4626690 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

おびやまロボット研究所 ~マイコン電子工作と自作ドローン~

おびやまロボット研究所 ~マイコン電子工作と自作ドローン~

赤外線送受信の実験


赤外線送受信の実験

赤外線送信機と赤外線受信をそれぞれPICを使って製作.
開発環境はC言語(HI-TECH PICC-LITE).
赤外線は通常38kHzで変調されているので,まずはLEDを13マイクロ秒ごとにON-OFFするプログラム作成.10回点減した後に10回分の待ち時間を入れた.(ただし,プログラムは動けばいい程度のレベル)

IRONOFF.jpg

実験回路はこの通り.中央左が赤外線LED,右が受信機.

DSC00283-2.JPG

オシロスコープで波形の観測.上がLEDの発光波形.下が受信機の出力波形.
発振周波数は38kHzより低くなっている.これは,処理時間が13マイクロ秒の待ち時間と比べて無視できない程度であるため.待ち時間を減じて周波数を調整できるが,受信できているので微調整は省略.

DSC00282-2.JPG

次にパルス幅変調による多チャンネル化を考える.簡単化してデジタル2チャンネルの送信.
プログラムは次の通り,ポートAから2チャンネル分のデジタル値を入力し,パルス幅を変えて2チャンネル分を順に出力する.その後十分なインターバルを入れてある.

IROUT.jpg

実験した回路.スイッチ2つを並べて配置している.スイッチはプルアップされ,押すとLレベル,離すとHレベルが入力される.

DSC00284-2.JPG

2チャンネル分の波形.スイッチを押さない場合は2チャンネルともパルス幅は同じ.

DSC00316-2.JPG

片方のスイッチを押したところ,2チャンネル目のパルス幅が短くなっている.

DSC00320-2.JPG

この信号を受信するプログラムと回路を作成.プログラムは次の通り.
Hレベルが続くインターバルを検出した後,パルス幅をカウントしてHレベルかLレベルかを判断する.2チャンネル分読み取った後,ポートBに出力する.

IRRECV.jpg

実験回路の写真.左のPICで作られた信号が赤外線LEDで送られ,受信機で受信された信号がPICで解析され,2チャンネル分の送受信を行う.
左側のスイッチを押した時,受信回路の左のLEDが消灯(負論理のため).

DSC00331-2.JPG

右のスイッチを押した時,右のLEDが消灯.

DSC00332-2.JPG

デジタル2チャンネル送受信の動画.

--追記--
Cのソースはあまり参考にしないでください.動けばいい,程度のものです.
BASICとアセンブラ世代なので,Cでちゃんとしたプログラムは組んだことありません.
また,Cのソースとコンパイル結果の関係からソースの記述を工夫する必要がありそうです.


© Rakuten Group, Inc.